package top.zywork.dao;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import top.zywork.vo.StatisticsDayCountVO;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 平台出入账统计统计DAO<br/>
 *
 * 创建于2019-11-19<br/>
 *
 * @author http://zywork.top 王振宇
 * @version 1.0
 */
@Repository
public interface AccountStatisticsDAO {

    /**
     * 统计结余
     * @return
     */
    BigDecimal countAllAccount();

    /**
     * 统计所有出账或入账
     * @param type 出入账类型
     * @return
     */
    BigDecimal countAllAccountByType(Byte type);

    /**
     * 统计商城总发放佣金
     * @return
     */
    BigDecimal countTotalCommission();

    /**
     * 查询指定时间段内的每日出入账结余数
     * @param beginTime
     * @param endTime
     * @return
     */
    List<StatisticsDayCountVO> countDayAccountByTime(@Param("beginTime") Date beginTime, @Param("endTime") Date endTime);

    /**
     * 查询指定时间段内的总出入账结余数
     * @param beginTime
     * @param endTime
     * @return
     */
    BigDecimal countAllAccountByTime(@Param("beginTime") Date beginTime, @Param("endTime") Date endTime);

}
